SoftwareSerial Library এর ব্যবহার

Computer Programming - আরডুইনো (Arduino) Serial Communication (সিরিয়াল কমিউনিকেশন) |
243
243

Arduino তে সাধারণত হার্ডওয়্যার সিরিয়াল পোর্ট (যেমন: পিন 0 এবং 1) ব্যবহার করে সিরিয়াল কমিউনিকেশন করা হয়। কিন্তু কিছু ক্ষেত্রে একাধিক সিরিয়াল ডিভাইসের সাথে যোগাযোগ করার প্রয়োজন হতে পারে। এ ক্ষেত্রে SoftwareSerial Library ব্যবহার করা হয় যা Arduino-কে একাধিক সিরিয়াল কমিউনিকেশন পোর্ট তৈরি করতে সাহায্য করে।

SoftwareSerial Library কি?

SoftwareSerial Library Arduino তে সফটওয়্যারের মাধ্যমে অতিরিক্ত সিরিয়াল পোর্ট তৈরি করে। এটি ব্যবহার করে নির্দিষ্ট ডিজিটাল পিনগুলোর মাধ্যমে সিরিয়াল ডেটা আদান-প্রদান করা যায়।

SoftwareSerial Library ব্যবহার করে অতিরিক্ত সিরিয়াল পোর্ট তৈরি করা

Arduino-তে SoftwareSerial ব্যবহার করে অতিরিক্ত সিরিয়াল পোর্ট তৈরি করার জন্য লাইব্রেরিটি প্রোগ্রামে অন্তর্ভুক্ত করতে হবে এবং দুটি ডিজিটাল পিন নির্দিষ্ট করতে হবে যেখানে সিরিয়াল ডেটা পাঠানো এবং গ্রহণ করা হবে।

কোড উদাহরণ:

#include <SoftwareSerial.h>

// SoftwareSerial পোর্ট তৈরি করা (RX, TX)
SoftwareSerial mySerial(10, 11); // পিন 10 -> RX, পিন 11 -> TX

void setup() {
  // হার্ডওয়্যার সিরিয়াল শুরু করা
  Serial.begin(9600);
  
  // SoftwareSerial শুরু করা
  mySerial.begin(9600);
  Serial.println("SoftwareSerial Ready");
}

void loop() {
  // SoftwareSerial থেকে ডেটা পড়া
  if (mySerial.available()) {
    char data = mySerial.read(); // ডেটা পড়া
    Serial.print("Received: ");
    Serial.println(data);
  }

  // Hardware Serial থেকে ডেটা পড়ে SoftwareSerial এ পাঠানো
  if (Serial.available()) {
    char data = Serial.read();
    mySerial.print("Echo: ");
    mySerial.println(data);
  }
}

SoftwareSerial Library-এর ফাংশনসমূহ

  • begin(speed): নির্দিষ্ট baud rate এ SoftwareSerial শুরু করে।
  • available(): কতগুলো ডেটা পড়ার জন্য উপলব্ধ আছে তা জানায়।
  • read(): ইনপুট থেকে একটি বাইট পড়ে।
  • write(data): সিরিয়াল আউটপুটে ডেটা পাঠায়।
  • print() এবং println(): সিরিয়াল আউটপুটে ডেটা প্রিন্ট করে।

ব্যবহারিক উদাহরণ

Bluetooth Module (HC-05) বা GPS Module-এর মতো একাধিক ডিভাইসের সাথে সিরিয়াল যোগাযোগের ক্ষেত্রে SoftwareSerial Library ব্যবহার করা হয়। উদাহরণস্বরূপ, Bluetooth Module-এর সাথে Arduino-কে সংযুক্ত করে ডেটা আদান-প্রদান করার জন্য SoftwareSerial Library ব্যবহার করা যেতে পারে।

HC-05 Bluetooth Module উদাহরণ:

#include <SoftwareSerial.h>

SoftwareSerial bluetooth(10, 11); // RX = 10, TX = 11

void setup() {
  Serial.begin(9600); // হার্ডওয়্যার সিরিয়াল শুরু
  bluetooth.begin(9600); // Bluetooth সিরিয়াল শুরু
  Serial.println("Bluetooth Ready");
}

void loop() {
  // Bluetooth থেকে ডেটা পড়া
  if (bluetooth.available()) {
    char data = bluetooth.read();
    Serial.print("Bluetooth Received: ");
    Serial.println(data);
  }

  // Serial Monitor থেকে ডেটা পাঠানো
  if (Serial.available()) {
    char data = Serial.read();
    bluetooth.write(data);
  }
}

SoftwareSerial Library-এর সীমাবদ্ধতা

  • বড রেট সীমাবদ্ধতা: SoftwareSerial সাধারণত কম গতির জন্য ভালো কাজ করে। বেশি baud rate (9600 এর উপরে) ব্যবহার করলে নির্ভুল ডেটা ট্রান্সমিশন নিশ্চিত করা কঠিন হতে পারে।
  • প্রসেসিং লোড: SoftwareSerial ব্যবহারের ফলে Arduino-এর প্রসেসিং ক্ষমতা কিছুটা কমে যেতে পারে, কারণ এটি সফটওয়্যার ভিত্তিক।
  • একবারে একাধিক SoftwareSerial পোর্ট: যদিও একাধিক SoftwareSerial পোর্ট তৈরি করা যায়, তবে একবারে শুধুমাত্র একটি পোর্ট সক্রিয়ভাবে ডেটা আদান-প্রদান করতে পারে।

ব্যবহারিক টিপস

  • কোডের সরলতা: SoftwareSerial ব্যবহার করার সময় কোডের অন্যান্য অংশে বিলম্ব বা জটিল অপারেশন এড়িয়ে চলুন, যাতে সিরিয়াল কমিউনিকেশন ঠিকমতো কাজ করে।
  • ডেটা ট্রান্সমিশন চেক করুন: ডেটা ট্রান্সমিশন নির্ভুলভাবে কাজ করছে কি না তা নিশ্চিত করতে Serial.print() ফাংশন ব্যবহার করে ডিবাগ করুন।

SoftwareSerial Library Arduino প্রোজেক্টে একাধিক সিরিয়াল ডিভাইসের সাথে সংযোগ স্থাপন করতে একটি কার্যকর সমাধান। এটি সহজে ডিভাইসের মধ্যে ডেটা আদান-প্রদান করতে এবং Arduino প্রোজেক্টে নমনীয়তা আনতে সাহায্য করে।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion